Higher and higher network performance are required because of more and more drawbacks exposed in existing networks, and it is thus necessary to add many complex functions to router architecture, such as Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), multicast, Differentiated services, traffic engineering, Network Address Translation (NAT), firewalls, Multi-Protocol Label Switching (MPLS), and so on, which increasingly bloats switching devices including a router and so on, and makes it less possible to improve the performance of the switching devices.
Unlike the dilemma of the network field, however, the computer field is making rapid development, and it can be easily found by carefully reviewing the development in the computer field that the key is a simple and available hardware bottom layer (an x86 instruction set) found in the computer field. Due to such a public hardware bottom layer, rapid progress has been made by both Applications (APP) and operating systems in terms of software. At present, it is believed by many advocators of redesign of computer network architecture that a network may replicate the success of the computer field to overcome all problems encountered by the existing networks. Guided by such an idea, a future network be certainly like this: a data channel (a switch or a router) of a bottom layer is “mute, simple and the smallest”, an open and public Application Programming Interface (API) related to a flow table is defined, while a controller is applied to controlling the whole network, and future researchers may freely invoke the API of the bottom layer for programming on the controller, thus implementing network innovation.
An SDN emerges based on the idea above, and the core technology of the SDN is an OpenFlow (OF) protocol. FIG. 1 shows OF protocol application architecture. A control plane (including an OF controller) and a data plane (including an OF capable switch) of a network device are separated so as to control network traffic flexibly and provide a good platform for innovation of core networks and application.
The OF protocol is used for describing a standard of information applied to interaction between a controller and a switch and an interface standard of the controller and the switch, and the core of the protocol is a set applied to an OF protocol information structure.
An OF flow table (as shown in FIG. 3), or a pipeline formed by cascading a plurality of arranged flow tables is used for configuring a forwarding path (as shown in FIG. 2) of the switch. A flow table entry consists of several fields including match fields, counters, instructions and so on as follows.
Match FieldsPriorityCountersInstructionsTimeoutsCookie
where the match fields are input keywords matched with a packet and used for matching a flow table entry; the counters are used for manage various used statistic information; the instructions are operation instructions for the packet, including discarding, and forwarding of the packet to a designated port, setting of a value of a header field of the packet, addition of an encapsulation label and so on; the priority refers to the matching priority of the flow table entry; the timeouts refer to the aging time of the flow table entry; and the cookie is an opaque data value selected by the controller. An action set is associated with each packet, transmitted among a plurality of flow tables of a pipeline, and modified by instructions of the flow tables until processing of the pipeline is ended to form a final action set.
There is a large number of routing entries, generally hundreds of thousands or even millions of routing entries in a telecommunication network, and a controller or an APP learns, through a dynamic routing protocol, that if all flow table entries of the routing information are sent to OF switches after routing of the whole network, extremely large flow table capacity will be required on the OF switches while only a few routing table entries may have traffic within a period of time as a matter of fact. If an OF controller can send a routing flow table entry as required, and enable an OF switch to use idleness aging of a relatively short period of time, a routing information set on the controller can be reduced and mapped on the OF switch effectively within a limited period of time, thus relieving the pressure on a routing flow table entry capacity index of the OF switch and implementing a routing flow table entry capacity exceeding the index of the OF switch. However, in the related art a solution on the technical problem above is not provided, and the inventors of the present application found in practice that a major method to achieve the purpose is to transmit a first traffic packet of an unmatched routing flow table entry so as to trigger the controller to send routing information required by the OF switch. However, the controller sends the routing table entry with a relatively long time delay after the controller to senses the requirement of the OF switch, which will result in upward transmission of a large number of packets and consume valuable bandwidths between the OF switch and the controller. Thus, it is expected that the method may be further optimized. At present, many OF switches are implemented by distributed Central Processing Unit (CPU) architecture. A control plane and a forwarding plane are separated. The control plane is implemented by a separate CPU and has richer memory resources than the forwarding plane. The present disclosure is provided based on an OF switch of such implementation architecture.